<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Moonwish.Core" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Moonwish.Core" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost/Moonwish.Foundation.Service/ValueObjectService.svc?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:complexType name="Request">
    <xs:sequence>
      <xs:element minOccurs="0" name="Items" nillable="true" type="tns:ArrayOfCondition" />
      <xs:element minOccurs="0" name="Pagination" nillable="true" type="tns:Pagination" />
      <xs:element minOccurs="0" name="What" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Who" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Request" nillable="true" type="tns:Request" />
  <xs:complexType name="ArrayOfCondition">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Condition" nillable="true" type="tns:Condition" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCondition" nillable="true" type="tns:ArrayOfCondition" />
  <xs:complexType name="Condition">
    <xs:sequence>
      <xs:element minOccurs="0" name="FieldName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Operator" type="tns:ConditionOperator" />
      <xs:element minOccurs="0" name="Relation" type="tns:ConditionRelation" />
      <xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Values" nillable="true" type="q1:ArrayOfanyType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Condition" nillable="true" type="tns:Condition" />
  <xs:simpleType name="ConditionOperator">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Like" />
      <xs:enumeration value="In" />
      <xs:enumeration value="Equal" />
      <xs:enumeration value="Greater" />
      <xs:enumeration value="GreaterAndEqual" />
      <xs:enumeration value="Less" />
      <xs:enumeration value="LessAndEqual" />
      <xs:enumeration value="NotEqual" />
      <xs:enumeration value="ChildIn" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="ConditionOperator" nillable="true" type="tns:ConditionOperator" />
  <xs:simpleType name="ConditionRelation">
    <xs:restriction base="xs:string">
      <xs:enumeration value="And" />
      <xs:enumeration value="Or" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="ConditionRelation" nillable="true" type="tns:ConditionRelation" />
  <xs:complexType name="Pagination">
    <xs:sequence>
      <xs:element minOccurs="0" name="Enabled" type="xs:boolean" />
      <xs:element minOccurs="0" name="PageIdx" type="xs:int" />
      <xs:element minOccurs="0" name="PageSize" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Pagination" nillable="true" type="tns:Pagination" />
</xs:schema>